The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Legacy:Semisolid Errors
Common errors that happen around semisolid brushes and ways to fix them.
BSP holes[edit]
Effect: player dies horribly for no apparent reason in an area of the map. See BSP hole.
Semisolid Face Vanish[edit]
Effect: Some semisolid faces are invisible.
Solutions:
- often a full BSP rebuild (as opposed to just Geometry) will fix this.
- A snip from Surface Flags (UT):
During the zone mapping process, polys will sometimes be flagged as part of Zone 0, causing them to be invisible when the player is within the level. Level designers can detect this class of hole by moving "into geometry" (i.e., outside the level) while viewing the level from an editor window set to "Zone/Portal View." If the hole is replaced by a polygon colored unlike the rest of the polygons in the zone (usually dark gray), the "hole" can usually be patched by setting the PF_ForceViewZone flag. The patch can immediately be verified by moving inside the level.
Strange Bot Behaviour[edit]
Effect: Bots try to run through or shoot through semisolid brushes.
- Solution: Always create your brushes in places that the player (bot or otherwise) cannot touch. The reason the bot's try to run through the wall is because a semisolid is not actually part of the world like a solid brush, so the bot thinks it isn't there so it tries to run through the brush.
Sobiwan: I thought semisolids had their own collision hull, but if not, one could place a collusion hull or cylinder to surround the semisolid, forcing the bots to take notice that the area is off-limits, no?
Tarquin: A collision cylinder is an actor thing, not a brush thing. Semisolids should provide collision, but sometimes fail. In the case of a pillar, like it says above, put a BlockAll in case. I've not seen bots walk into semisolids myself.